Setup

library(tidyverse)
library(network)
library(ggnet)
library(igraph)
library(networkD3)
library(Rtsne)
library(ggplotify)
library(GGally)
library(palmerpenguins)
library(pheatmap)

Multidimensional visualizations

As always, we begin with the Palmer Penguins:

penguins_working <- penguins %>% na.omit # get rid of any with missing data

penguins_working <- penguins_working %>%  cbind(penguin_id=sample(1:nrow(penguins_working))) # compute a penguin ID column
glimpse(penguins_working)
## Rows: 333
## Columns: 9
## $ species           <fct> Adelie, Adelie, Adelie, Adelie, Adelie, Adelie, Adel…
## $ island            <fct> Torgersen, Torgersen, Torgersen, Torgersen, Torgerse…
## $ bill_length_mm    <dbl> 39.1, 39.5, 40.3, 36.7, 39.3, 38.9, 39.2, 41.1, 38.6…
## $ bill_depth_mm     <dbl> 18.7, 17.4, 18.0, 19.3, 20.6, 17.8, 19.6, 17.6, 21.2…
## $ flipper_length_mm <int> 181, 186, 195, 193, 190, 181, 195, 182, 191, 198, 18…
## $ body_mass_g       <int> 3750, 3800, 3250, 3450, 3650, 3625, 4675, 3200, 3800…
## $ sex               <fct> male, female, female, female, male, female, male, fe…
## $ year              <int> 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007…
## $ penguin_id        <int> 141, 197, 99, 17, 145, 106, 327, 51, 105, 264, 112, …

Pairwise bivariate plot

One way to start: a “pairwise plot” grid of bivariate plots of all variables against each other. ggpairs automates this:

penguins_working %>% ggpairs(columns=c("flipper_length_mm", "bill_length_mm", "bill_depth_mm", "body_mass_g" ))

Note that this sort of plot can be very useful for exploratory data analysis, but is of limited use when it comes to presentations, posters, publications, etc.

Heatmaps

Another method for visualizing a large number of dimensions simultaneously is a heatmap. Unfortunately, this is one area where ggplot may not be the best choice. It is certainly possible to do a heatmap with ggplot, using geom_tile(), but it is not really a “batteries included” solution.

Things to note: - geom_tile() listens for x and y aesthetics. - As usual with ggplot, we want our data to be in a “long” (rather than “wide”) layout, so we’ll need to use pivot_longer()

penguins_working %>% select(-species, -island, -sex, -year) %>% 
  pivot_longer(-penguin_id, names_to="metric", values_to = "value") %>% 
  ggplot(aes(x=penguin_id, y=metric, fill=value)) + geom_tile()

Issues of scale

Note that because our different variables are at different scales, the colors on the heatmap are not particularly useful at this point. For this reason, heatmaps usually normalize all of their data to be on a common scale (or get fancy with color scales for different rows/columns, though this does begin to defeat the purpose of using a heatmap in the first place). Let’s re-scale our variables using mutate(), we use across here to tell mutate() to apply a function to multiple columns.

penguins_working %>% select(-species, -island, -sex, -year) %>% 
  mutate(across(-penguin_id, scale)) %>% 
  pivot_longer(-penguin_id, names_to="metric", values_to = "value") %>% 
  ggplot(aes(x=penguin_id, y=metric, fill=value)) +geom_tile()

The next thing to note is that our scaled data have a natural and meaningful zero point, which means that this is a good use-case for a two-tone diverging color scale, which we can get usign scale_fill_gradient2().

penguins_working %>% select(-species, -island, -sex, -year) %>% 
  mutate(across(-penguin_id, scale)) %>% 
  pivot_longer(-penguin_id, names_to="metric", values_to = "value") %>% 
  ggplot(aes(x=penguin_id, y=metric, fill=value)) +geom_tile() + scale_fill_gradient2()

A non-ggplot option

There are numerous other things we might want to do with a heatmap, including adding dendrogram/cluster diagrams, additional annotations, etc. ggplot doesn’t really make this easy, but fortunately there are numerous non-ggplot options. One that I quite like is pheatmap:

penguins_working %>% select(-species, -island, -sex, -year, -penguin_id) %>% pheatmap

“Out of the box”, pheatmap also does not scale our data; unlike ggplot, however, it will not force us to do it “by hand”. It has numerous parameters, one of which controls data scaling; we can specify whether we want columns or rows to be scaled:

penguins_working %>% select(-species, -island, -sex, -year, -penguin_id) %>% 
  pheatmap(scale="column")

Things to note - By default, pheatmap will reorganize the data according to the clustering results (unlike ggplot/geom_tile(), which will leave the data as-is) - pheatmap isn’t designed to work with dataframes (though it can); rather, it expects matrices, where each “sample” is a column - So if you want to swap rows and columns, you’ll want to use t() to transpose your data:

penguins_working %>% select(-species, -island, -sex, -year) %>% column_to_rownames("penguin_id") %>% as.matrix %>% t %>% pheatmap(scale="row") # note that we need to change what we're scaling

pheatmap is endlessly customizable; for example, we can disable labels on columns, since here there are too many for them to be legible:

penguins_working %>% select(-species, -island, -sex, -year) %>% column_to_rownames("penguin_id") %>% t %>% 
  pheatmap(scale="row", show_colnames = FALSE)

Additional layers of data

One nice feature of pheatmap is its annotation capabilities; we can compute additional layers of data, and it will include them as additional layers on the heatmap.

hm.annotation.df <- penguins_working %>% column_to_rownames("penguin_id") %>% select(species) # a data frame with rownames that match up with our main data's


penguins_working %>% select(-species, -island, -sex, -year) %>% column_to_rownames("penguin_id") %>% t %>% 
  pheatmap(scale="row", show_colnames = FALSE, annotation_col = hm.annotation.df)

We can have multiple levels of annotations:

hm.annotation.df <- penguins_working %>% column_to_rownames("penguin_id") %>% select(species, sex) # annotation by species _and_ sex
 
penguins_working %>% select(-species, -island, -sex, -year) %>% column_to_rownames("penguin_id") %>% t %>% 
  pheatmap(scale="row", show_colnames = FALSE, annotation_col = hm.annotation.df) 

`pheatmap is, again, endlessly customizable; one handy thing is that we can tell it to “break up” the spacing of the map a little bit based on the cut points in the clustering:

hm.annotation.df <- penguins_working %>% column_to_rownames("penguin_id") %>% select(species, sex) # annotation by species _and_ sex
 
penguins_working %>% select(-species, -island, -sex, -year) %>% column_to_rownames("penguin_id") %>% t %>% 
  pheatmap(scale="row", show_colnames = FALSE, annotation_col = hm.annotation.df,
           cutree_cols = 3, cutree_rows = 3)

Recall that pheatmap’s output is not a ggplot object, so ggsave etc. won’t work… if we really need it to be, we can convert it:

hm.ggplt <- penguins_working %>% select(-species, -island, -sex, -year) %>% column_to_rownames("penguin_id") %>% t %>% 
  pheatmap(scale="row", show_colnames = FALSE, annotation_col = hm.annotation.df, cutree_cols = 3, cutree_rows = 3) %>% 
  as.ggplot

# now that it's a ggplot object, we can do certain things to it using ggplot commands:
hm.ggplt + labs(title="Title from ggplot", caption = "Caption from ggplot!")

If wneeded to, we could now combine with other ggplot objects using e.g. cowplot, etc.

Dimensionality Reduction

When we have many dimensions, it can be helpful to come up with a lower-dimensional space to use for visualization and analysis. There are many ways to do this; and note that the Palmer Penguins dataset doen’t really have that many dimensions, so this is really just a demonstration of how you might perform this sort of analysis rather than an actual use case. :-)

We will begin with Principal Components Analysis:

for.pca <- penguins_working %>% select(-species, -island, -sex, -year, -penguin_id)

# compute PCA
pc <- for.pca %>% prcomp(center=TRUE, scale=TRUE)
pc # long but useful output
## Standard deviations (1, .., p=4):
## [1] 1.6569115 0.8821095 0.6071594 0.3284579
## 
## Rotation (n x k) = (4 x 4):
##                          PC1         PC2        PC3        PC4
## bill_length_mm     0.4537532 -0.60019490 -0.6424951  0.1451695
## bill_depth_mm     -0.3990472 -0.79616951  0.4258004 -0.1599044
## flipper_length_mm  0.5768250 -0.00578817  0.2360952 -0.7819837
## body_mass_g        0.5496747 -0.07646366  0.5917374  0.5846861

Note that we have have one “Principal Component” for each input dimension, so we have not actually reduced our dimensionality, yet! However, recall that in PCA the components are ordered in terms of the variance they capture, with the idea being that by using the first several we can represent most of the variance in our dataset.

# now add our PC values back
penguins.pc <- penguins_working %>% cbind(predict(pc, for.pca))
penguins.pc %>% head
speciesislandbill_length_mmbill_depth_mmflipper_length_mmbody_mass_gsexyearpenguin_idPC1PC2PC3PC4
AdelieTorgersen39.118.71813750male2007141-1.85-0.032 0.235 0.528
AdelieTorgersen39.517.41863800female2007197-1.310.443 0.02740.401
AdelieTorgersen40.318  1953250female200799-1.370.161 -0.189 -0.528
AdelieTorgersen36.719.31933450female200717-1.880.01230.628 -0.472
AdelieTorgersen39.320.61903650male2007145-1.92-0.816 0.7   -0.196
AdelieTorgersen38.917.81813625female2007106-1.770.366 -0.02840.505

We can see that if we plot the first few components against one another, much of the structure of the dataset is largely preserved (at least, the parts that are linear in nature):

penguins.pc %>% ggplot(aes(x=PC1, y=PC2, color=species)) + geom_point()

penguins.pc %>% ggplot(aes(x=PC1, y=PC3, color=species)) + geom_point()

penguins.pc %>% ggpairs(mapping=aes(color=species), columns=c("PC1", "PC2", "PC3", "PC4"))

For non-linear dimensionality reduction, we have many options; one popular one is “T-Distributed Stochastic Neighbor Embedding”, or t-SNE. It does a very good job at handling a moderate number of dimensions (up to, say, 50) though can be run on much higher-dimensional data.

The main thing to note about t-SNE is that it is stochastic, meaning that different “runs” will produce different results. The overall patterns/structure in the resulting lower-dimensional data will be very similar, but it will look different. In the interests of reproducibility, always make sure to initialize your random number generator in a consistent manner, using set.seed()!

set.seed(42)
penguin.tsne <- for.pca %>% mutate(across(everything(), scale)) %>%  Rtsne()

penguin.tsne$Y %>% as.data.frame %>% cbind(penguins_working) %>% ggplot(aes(x=V1, y=V2, color=species)) + geom_point()

As an example, look what happens if we run Rtsne() a second time:

penguin.tsne2 <- for.pca %>% mutate(across(everything(), scale)) %>%  Rtsne()

penguin.tsne2$Y %>% as.data.frame %>% cbind(penguins_working) %>% ggplot(aes(x=V1, y=V2, color=species)) + geom_point()

We get a completely differnet arrangement- though note some similarities, in that there are a few stray Chinstrap penguins that get grouped in with the Adelies.

Running a third time, we will get a third arrangement:

penguin.tsne3 <- for.pca %>% mutate(across(everything(), scale)) %>%  Rtsne()

penguin.tsne3$Y %>% as.data.frame %>% cbind(penguins_working) %>% ggplot(aes(x=V1, y=V2, color=species)) + geom_point()

If we reset our RNG seed, we can get back our original layout:

set.seed(42)
penguin.tsne4 <- for.pca %>% mutate(across(everything(), scale)) %>%  Rtsne()

penguin.tsne4$Y %>% as.data.frame %>% cbind(penguins_working) %>% ggplot(aes(x=V1, y=V2, color=species)) + geom_point()


Networks

Note that this part of the walk-through is not particularly useful except as an example of how to use igraph; the actual analysis does not work out very well, and the graphs aren’t of very much interest.

Data ingest & setup

This file was generated using the SciVal bibliographic database, and contains information about publications with at least one OHSU-affiliated author.

d <- read_csv("data/ohsu_pubs.csv") %>% janitor::clean_names()
## Rows: 17117 Columns: 12
## ── Column specification ───────────────────────────────────────────────────────────────────────────────
## Delimiter: ","
## chr (11): Title, Authors, Scopus Author Ids, Scopus Source title, DOI, EID, ...
## dbl  (1): Year
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
glimpse(d)
## Rows: 17,117
## Columns: 12
## $ title                         <chr> "2015 American Thyroid Association Manag…
## $ authors                       <chr> "Haugen, B.R.| Alexander, E.K.| Bible, K…
## $ scopus_author_ids             <chr> "7005966885| 7201383680| 6603907750| 700…
## $ year                          <dbl> 2016, 2016, 2016, 2016, 2017, 2018, 2017…
## $ scopus_source_title           <chr> "Thyroid", "The Lancet", "Autophagy", "T…
## $ doi                           <chr> "10.1089/thy.2015.0020", "10.1016/S0140-…
## $ eid                           <chr> "2-s2.0-84954538661", "2-s2.0-8499409204…
## $ scopus_affiliation_i_ds       <chr> "60000221| 60016782| 60002746| 60005558|…
## $ scopus_affiliation_names      <chr> "University of Colorado Boulder| Brigham…
## $ scopus_author_id_first_author <chr> "7005966885", "57223885848", "7004321762…
## $ scopus_author_id_last_author  <chr> "7006270360", "57209027746", "5720817050…
## $ topic_name                    <chr> "Thyroglobulin,Thyrotropin Alfa,Thyroid …

We can easily identify publications with a first or last author with an OHSU affiliation:

ohsu.scopus.id <- "60016733"
d.first.au <- d %>% mutate(first_aff_id=str_extract(scopus_affiliation_i_ds, "^[^\\|]*"), last_aff_id=str_extract(scopus_affiliation_i_ds, "[^\\|]*$")) %>% 
  mutate(is_ohsu_pub=case_when(
    first_aff_id == ohsu.scopus.id | last_aff_id == ohsu.scopus.id ~ TRUE, TRUE ~ FALSE
  ))

# as a sanity check, how many OHSU first/last author publications are there in the set?
d.first.au %>% select(is_ohsu_pub) %>% group_by(is_ohsu_pub) %>% tally
is_ohsu_pubn
FALSE11597
TRUE5520

Let’s build a graph where the nodes are journals, and edges shared authorship. That is, journals X and Y will get an edge if at least one author has published in both; weights of the edges will represent the number of shared authors.

To get there, we will need several steps of processing. Currently, each row of the dataset is a single publication, but within each publication there is a delimited list of authors and institutional affiliations. We want to extract that list and make it into a nested data frame:

prep_au_df <- function(some_pub) {
  au_list = str_split(some_pub$authors, "\\|")
  # print(au_list)
  au_id = str_split(some_pub$scopus_author_ids, "\\|")
    tibble(author_name=au_list, author_id=au_id)
    
}

# let's only look at publications where the first or last author is an OHSU author
pubs.to.use <- d.first.au %>% filter(is_ohsu_pub==TRUE)

d.with.expanded.author.info <- pubs.to.use %>% pmap_dfr(function(...) {
  current <- tibble(...)
  current %>% prep_au_df
}) %>% bind_cols(pubs.to.use, .)

Now, we will turn that into a dataframe that has one row per-author-per-publication, with the journal title and author ID. This will form the basis for our graph:

author.id.and.name <- d.with.expanded.author.info %>% select(scopus_source_title, author_id) %>% unnest(author_id)
author.id.and.name %>% head
scopus_source_titleauthor_id
Journal of Pain9334863700
Journal of Pain 7403582623
Journal of Pain 7005602051
Journal of Pain 55430613700
Journal of Pain 6701572541
Journal of Pain 15134993200

Compute node and edge list

The graphing libraries we will be working with can represent graphs in several ways, but the most common way is as an edgelist and a list of vertices. We’ll make the edgelist by joining our author/journal-title dataframe on itself a couple of times:

journal_graph <- author.id.and.name %>% inner_join(author.id.and.name, by="author_id") %>% filter(scopus_source_title.x != scopus_source_title.y) %>% rename(source=scopus_source_title.x, dest=scopus_source_title.y) %>% 
  group_by(source, dest) %>% summarise(n.pubs=n()) %>% ungroup
## Warning in inner_join(., author.id.and.name, by = "author_id"): Each row in `x` is expected to match at most 1 row in `y`.
## ℹ Row 1 of `x` matches multiple rows.
## ℹ If multiple matches are expected, set `multiple = "all"` to silence this warning.
## `summarise()` has grouped output by 'source'. You can override using the
## `.groups` argument.
sources <- journal_graph %>% distinct(source) %>% rename(label=source)
destinations <- journal_graph %>% distinct(dest) %>% rename(label=dest)

# list of all nodes
nodes <- full_join(sources, destinations, by="label")
nodes <- nodes %>% mutate(id=1:nrow(nodes)) %>% select(id, everything())

journal_graph <- journal_graph %>% rename(weight=n.pubs)
edges <- journal_graph %>% left_join(nodes, by=c("source"="label")) %>% rename(from=id)
edges <- edges %>% left_join(nodes, by=c("dest" = "label")) %>% rename(to=id)
edges <- edges %>% select(from, to, weight)
edges %>% head
fromtoweight
18522
22051
22521
212381
213631
214661

igraph: The swiss-army knife for graphs

At this point, we can transform our data from a simple dataframe into an actual graph object; igraph is a very useful R library with many routines for manipulating graphs (computing metrics, identifying sub-graphs, etc.). It can read graphs represented in many ways, one of which is from a dataframe with edges:

library(igraph)

# make network object
first.with.igraph <- graph_from_data_frame(d=edges, vertices=nodes, directed=FALSE)

Now that it’s loaded, we can plot our graph; note that this graph is too big to usefully plot this way!

set.seed(42)
plot(first.with.igraph, layout=layout_with_graphopt)

What if we try filtering our graph, to only include edges representing at least four shared authors?

journal_graph <- journal_graph %>% filter(weight > 4)
edges <- journal_graph %>% left_join(nodes, by=c("source"="label")) %>% rename(from=id)
edges <- edges %>% left_join(nodes, by=c("dest" = "label")) %>% rename(to=id)
edges <- edges %>% select(from, to, weight)
edges
fromtoweight
326811
65228
616196
83448
812866
816195
817765
9127
92708
98985
111759
118265
1297
122708
128985
1212865
1710317
1717923
171995
173045
173075
174386
174445
178746
1788851
178955
179037
1791514
1792511
1710545
1712018
17121030
17144255
1715025
1716075
17166313
1716735
1717327
1938117
201008
2014926
2015550
2036111
203936
204235
204438
206718
208319
2088118
2089118
209196
2010078
2011759
2011778
2014886
20153324
20159338
2016955
2017606
2017696
2166117
218587
2110557
22100114
2215015
2215645
245476
2411807
2852241
286266
2899614
28161911
29119412
3117695
3316198
349297
3411976
361157
374438
4015516
405606
40103010
416513
417197
4113255
421535
421557
42103013
4314755
4752210
4713425
4716196
521047
5226810
5287418
528885
5214356
5214435
5214666
5215947
5217329
5412227
56757
561005
563135
563486
5638010
5638824
563919
565568
567876
5685895
5688712
5694711
5697517
56102721
5610817
5611528
5611697
56120510
5612465
5614586
56153113
56158313
5617007
5815256
592936
5992310
5994420
5996611
5911776
5912259
5917315
6061311
607298
6078013
6095511
6012085
616513
612908
6110937
6113255
6113898
6115125
6115718
654113
656113
652775
652908
656785
657198
6510935
6512395
6513256
6513876
6513895
6513905
6515125
65157118
668220
676823
67695
677013
672675
6755110
677016
677296
678095
679276
6710725
6712258
686723
68696
687013
682679
6855112
687015
687295
688095
688866
689239
689276
6810726
6811827
6812257
6815516
69675
69686
706713
706813
702675
705517
707015
708095
708867
709238
7012256
7015518
7212256
739713
731275
7333813
733615
736138
7378013
739559
7311729
7311786
7312086
75567
753888
7585819
7510277
7510475
7612711
7616665
785239
7852723
785295
789937
789997
7811555
78119411
7812185
7817715
801277
802388
803735
8040412
808909
8010079
80153312
80159312
826620
825496
869716
869912
861115
8627730
862806
863028
863177
863186
8632612
863365
863449
8634714
864058
864259
864347
865616
86618118
866388
8674010
867418
8688713
869686
8697711
8610266
8610306
8610406
8610527
8610807
8611109
86116712
8611719
86117252
8612277
86123943
8612406
86124114
8612679
86133912
8613428
8613597
8614007
86142111
86143515
86146612
86152817
86155521
86158820
8616177
8616265
86163312
8616476
8617117
8617225
86175815
8617768
8710375
87112215
889337
8817555
9113777
942646
942778
942926
943268
949166
949626
9411936
94123910
9413426
9414356
9415556
9417296
958745
967557
977313
978616
971589
9723610
972798
972805
972826
9733810
973678
9761219
9761824
978816
9788427
9788514
9788716
978906
978935
979488
979685
9710307
9710525
97117221
9712405
97126115
97134816
9715887
9716265
97170016
9717766
998612
9961819
9911728
100208
100565
1001247
10015516
1003815
10039210
10067114
10085811
10097514
100106410
100108113
10010868
100122723
10013367
10013617
10015237
10015348
100158214
10016197
10016475
100176915
10210850
10211711
10221235
1022408
1022536
10227524
10244314
10255243
1027318
10273716
1027788
1028317
1028515
1028816
1028859
1028909
1028917
1029079
1029235
1021067107
102107832
10211347
10211357
102118411
10213425
10214008
102141910
102142128
102142255
102142347
10214727
102151011
10215876
10217547
102176429
1031717
10310452
10315216
103268610
10330453
10344426
1035367
103874203
103888164
10391522
10394071
10394260
10395625
10310337
103108211
103115320
10312108
103138543
10314396
103144115
1031442186
1031443269
103144410
10314456
103144664
103146616
10315558
103157521
103159464
103161965
103167618
1031732103
104527
10410352
1041945
104268124
10430411
1044448
1048598
10487462
10488824
1049157
10494014
10494217
10411535
10413858
10414276
10414395
104144116
104144236
104144351
10414445
104144610
104146612
10415756
104159429
104161914
104173228
1068365
1077005
1077749
1078965
10810250
1081177
10821222
1082406
10827518
10855227
1087316
10873713
1087787
1088316
1088908
1088916
1089076
108106790
108107817
10811346
108113512
10811848
10813575
10814007
10814198
108142120
108142243
108142342
10814726
10815107
10817546
108176421
1103746
111865
1111917
1112776
1112787
11133614
11134719
1114345
11161811
111117115
11113429
11114668
111152856
111156212
111158824
11117105
11117216
11316196
11412219
114106114
11415218
11416177
115367
11519111
11530515
1154698
11597010
11510505
115114019
11513426
115135310
115156610
11515875
11612146
11710211
1171087
11712014
11715327
11723510
11723813
11731411
11744012
1174419
11753718
11755215
11766129
11766216
11775516
11781825
11788512
1178875
1179255
117103034
117103724
117104513
117106714
11711429
117120128
117125711
11712657
117127515
11714227
11714236
11715107
117153613
11715388
117153910
11810477
11916955
12011714
1201538
1205377
12066110
1206625
1207556
1208188
1208469
120103014
12010379
12010456
120110618
12012018
12012756
12112397
12211419
1221718
122106117
12215216
122161711
1234409
12310475
12314717
12314905
123149514
1241007
1241558
1243325
12438114
12454712
12410816
124118010
12412275
12614526
127735
1277611
127807
12713318
12716214
12716516
12716824
12729711
12733612
1273486
12739313
1274165
1274187
1274658
12746712
12747624
12749724
12750121
12751413
12755618
12757821
1277806
12778817
12788112
12789150
12794716
12710279
127102811
127103536
12710599
127109819
127113147
127116525
127116614
127116773
12711698
1271175154
127117885
127117917
127120625
12712348
127129712
12714049
127163715
127166511
127166651
12716678
127166823
12716709
127167111
127172224
127173512
127173618
127176623
12717716
1284055
129146510
13016955
13312718
13311756
13813335
13813775
14414515
1442126
14430013
14514415
1452146
14530014
14513016
14515157
14516665
1492026
14915538
1493536
1497558
1498316
14988120
1498857
14989113
14910305
14911565
14911776
149153310
14915937
149166410
15210316
15226860
15287415
1528886
1529407
1529426
15214429
152144316
15214467
15217325
153425
15311727
1531208
15323811
1533147
15344010
1534418
15353720
15366116
15366218
15375515
15381819
1538855
1539255
153103032
153103718
15310515
153114210
153120118
153125710
153127520
153153810
153153912
1542175
1544168
15410278
154116713
15417665
1552050
1554016
155427
15510016
1551248
15514938
15517910
1552178
15522416
15529623
15531432
1553618
15536319
1553855
1553938
15542334
15544316
15556014
15562816
15567116
15575915
1557618
1558368
15584915
15586813
155881251
15588518
1558876
1558919
1558955
1559198
15597112
15510078
15510095
155103051
155105310
15510648
15510818
155112018
15511759
155117780
15511848
15512015
15512278
15512578
15512998
15513368
15514758
15514888
155153318
155159314
15516646
15516755
15517698
1574369
1574375
15712085
158979
1582366
1582795
1583676
1583806
15861213
1586296
15888418
1588858
15888710
1589485
15812619
158134810
15817009
15912377
1603638
16097110
16212714
1628587
16210276
16211679
16512716
1658915
165117853
16511796
16812724
16811759
16917118
1691946
1696276
1698876
16916015
17016955
1711228
17116918
1711929
17119314
17119465
17138231
17139011
17140924
1714878
1718278
1718885
171119420
171135010
17116025
17116196
171169515
17212397
17214666
175119
17517715
1753836
17568811
1758265
17511817
17513358
17514657
17514667
17514677
17516195
175178010
17614146
17717515
1779736
1782935
1791723
17915510
1791807
17912015
17916636
1801797
1819845
1826915
1828126
18210776
18552214
18512325
18516199
18813327
18813885
19033120
19077820
19081910
190148510
1911117
19111511
19130510
19111715
19113535
19115289
19115667
1921719
19317114
19319411
19311556
1941045
1941696
19417165
19419311
1942066
1942346
19438210
19440126
1944098
1944117
19448731
1948275
19487412
19488811
1949127
194115524
19411948
194135011
194142710
194144112
19414436
194160217
194161911
194162110
194169576
196145212
19714525
1987806
199175
1993045
1998745
19988821
1999156
199144215
199144312
2013616
2013636
20197113
2026585
20211147
20214485
2061946
21210235
21210822
2121446
2122405
21227511
2124496
21255211
2127656
21288112
2128858
212106732
212107818
21214005
212141911
21214216
212142223
212142324
212147219
21216286
21217649
21317536
2141456
2153465
2171545
2171558
2172235
2172617
2178587
21710276
21715365
21715386
21716195
2195289
2198828
21911949
2212335
2218587
22113427
22114665
2232175
2232385
22344316
2235525
22375511
2238186
2238847
22388512
2238915
22310305
22311567
22312655
22314225
22315366
223153811
22316645
22415516
2248816
22616196
22617845
2277097
22714585
23144323
2316156
2332215
2341946
2344115
23511710
2357555
23510375
23512016
2369710
2361586
2362796
23661213
2368815
23688418
2368856
23688712
2368906
2369486
236126110
236134812
23616957
236170012
238808
23811713
23815311
2382235
2382435
2384415
2385377
2386616
23866210
2388187
23810076
238103010
23810379
23811755
23812015
23812575
23812756
238153313
238159310
2398585
23910275
23911805
2401028
2401086
2402125
2407655
240106713
24014227
24014236
24144312
2432385
2438847
24315335
24317005
24414806
2489597
24810847
24813116
24813656
24814357
24815717
24815787
2492778
2493266
24912398
2531026
2535897
2538066
2538516
25313428
25315218
25315818
25315877
2543265
254134211
2559376
25512035
25512815
25517766
25811788
26052214
26012325
26016199
2612177
26112395
2632647
2632926
26353424
2639167
26313636
26315685
26317405
264946
2642637
2642925
26453412
2649166
26496210
26410935
26411937
264136311
26417405
2652858
2657405
26513425
2663437
26634521
26644313
2666155
266133943
266146611
267675
267689
267705
268311
2685210
268103610
268104124
26815260
268304192
268444103
26853636
268874721
268888229
26891531
268940361
268942245
26895654
268103322
268108227
268115356
26812867
2681385191
268142816
26814395
268144131
2681442397
2681443776
268144536
2681446302
268146650
26815485
268155554
2681575111
2681594207
2681619176
268167663
2681732253
27098
270128
2703515
2705897
2708988
27011817
2729407
27213429
27214666
272155611
272161919
27217765
27353714
2735418
273100313
27313446
2745377
2745416
27410036
27510224
27510818
27521211
27555211
2756136
2757809
2758905
2759078
27595512
275106730
275107831
27514216
275142214
275142312
27514725
27517649
277655
2778630
277948
2771116
2772498
2773028
2773157
27731712
27731813
27732636
27734420
2773475
27742519
2774685
27761820
2776385
27774012
27793718
27797712
27710405
27710466
27711715
27711729
277123990
27712407
277133936
277134231
277135411
277143537
277146618
277152811
277155549
27715886
277161613
27716179
277177611
2781117
2783478
27812395
278124111
27814355
27814665
27815288
278158811
279978
2791585
2792366
27961210
27988417
2798856
27988712
2799485
279126110
279134811
279170010
280866
280975
2806189
2808846
28011726
282976
2826128
28288412
2828856
28212616
28217006
28494415
2849669
2852658
28616478
290618
290658
29015129
292946
2922636
2922645
2925347
29270811
2929169
29294615
29210886
292134225
29213636
29214355
29216199
292177616
293596
2931785
2935549
2939236
29312997
29314526
2943446
29434614
29411828
29413076
294134212
29413616
294143512
294146610
294155612
294161918
29615523
2968816
29712711
29716665
30014413
30014514
3015287
30188210
301119435
30114008
30116245
302868
3022778
3023265
3027405
3029775
302123918
30213396
30214357
30215558
3039756
30311788
304175
30410353
30410411
3041995
304268192
3044449
30487464
30488866
30491510
30494021
30494213
3049566
30413859
30414418
304144252
304144388
304144614
30414667
30415759
304159418
304161913
30416765
304173220
30511515
30519110
30513535
30515669
3068588
30610276
307175
30751721
3075586
30772023
3078958
30712155
307146211
307150311
30716636
3088847
3115376
3115417
311100310
3126685
31211777
31217265
31217537
313565
31338010
31338812
31385820
31310279
31411711
3141537
31415532
3144415
3145377
31466112
3146628
31488116
3148849
3148855
31488713
3149776
31410087
31410306
31410377
31410708
314117713
31412016
314124011
31412415
31414358
3152777
3153265
3153446
3154257
315123910
31514356
31514666
31515556
31614169
31617525
317867
31727712
3173186
3173268
31734410
3174257
3179775
317123931
31713396
317134212
317143511
317155516
318866
31827713
3183176
3183269
31834411
3184256
3188416
3189135
31810575
318123930
31813398
318134217
318143514
31814667
31815515
318155514
31816178
31817765
32017565
3268612
326948
3262496
3262545
32627736
3263025
3263155
3263178
3263189
32634413
32642512
3267408
3269376
3269777
326123957
326133916
326134227
326135410
326143523
326146611
326155522
326161611
32616175
326177610
33119020
3321245
33254715
332118013
3355476
33511807
336865
33611114
33612712
33634711
33661810
33611716
33611756
336152818
336158811
3387313
3389710
33811728
3394887
33911825
33912935
339129414
339133933
33914356
339146613
33915565
33916137
339177631
34113426
34214677
342178010
34217818
3432667
34334517
343133932
34314669
34316585
34488
344869
34427720
3442946
3443156
34431710
34431811
34432613
3443725
34442511
34451011
3447405
3447545
34410179
344104711
34410716
34410935
344118115
34411829
34412145
34412386
344123931
34412849
34412869
344133912
344134233
34413435
34413807
34414296
344143518
344146614
34415479
344155112
344155530
344155623
34416145
344161921
34417555
344177622
34526621
34534317
34544311
3451339126
345146619
34516586
3462155
34629414
3466515
3469336
346118211
34612386
34613427
34613616
346143512
34614666
346155610
346161918
34617556
3478614
34711119
3472775
3472788
34733611
34743410
34761830
347117111
347117210
34714667
347152826
347158827
34717215
348566
3481276
3485555
34811407
34813426
348161410
34817669
3512705
35112865
35212396
3531496
3538876
35614907
36013535
3612011
361735
3611558
3612016
36136314
3618815
36197114
36111256
361121317
361159321
3625476
36211807
36315519
3631608
3632016
36336114
3636238
3639318
36397149
36310656
36311256
36311858
363121310
36313478
363161910
36317398
3648767
364121311
3658848
367978
3671586
36761210
36788412
36788510
36712618
36717006
3713806
37138812
3718589
37110279
3723445
3728876
3729016
3729775
37211745
372123911
37213429
37213585
37214297
372143521
372155528
37216199
373805
3741106
37815237
37942812
37954912
3797107
37916846
3805610
3801586
38031310
3803716
38038824
38085840
3808875
3809478
3809776
380102718
38010818
38015555
3811917
3811005
38112414
3818697
38110637
38111776
381149610
38115516
38115799
38117527
38117536
38217131
38219410
38240913
3831756
38313356
3846226
384112011
38411306
38414736
3851555
3858048
38512286
3885624
388758
38831312
38837112
38838024
3883918
38855620
3887128
3887878
388858116
3888878
38894720
38897512
3889778
388102780
388108116
38811528
38811548
388116920
388120512
388124616
388153116
38815788
388158312
388166512
388170016
38817528
3897405
39017111
391569
3913888
39185830
39197510
39110276
39112225
39210010
393206
39312713
3931558
3937035
39311759
393176912
39616476
39616496
3974045
40119426
40148712
401115512
401160210
401169513
4048012
4043975
4049198
40410078
40414887
405868
4051285
40561810
40511725
40711675
40917124
4091948
40938213
4108587
4111947
4112345
41111555
4161275
4161548
416116710
4181277
4199685
4218839
423205
42315534
42344315
42388112
425869
42527719
4253157
4253177
4253186
42532612
42534411
4257405
4257546
425123933
425133910
425134213
425143513
42514476
425146616
425155518
42516195
42517765
42837912
42854910
42816846
42915516
429155610
42916195
43013325
434867
4341115
43434710
43461815
43411725
43415288
43415886
43515506
4361579
43643712
43610069
436120811
4371575
43743612
43710068
437120823
43715939
438176
4388885
43814427
44011712
4401239
44015310
4405378
4406616
4406628
4407557
4408188
4408856
44010309
440103710
44012018
44012655
44012755
44014955
4411179
4411538
4412385
4413145
4415375
4416616
4416627
4418186
44110306
44110377
443208
443378
44310214
44315516
44322316
44323123
44324112
44326613
44334511
44342315
44355218
44361570
44364411
4437315
4437559
44388526
4439197
44310677
44310726
443107810
44311845
443125720
443133922
443142246
443142448
44315335
443163013
44317649
444175
44410326
4441048
444268103
4443049
4446215
44487438
44488823
44494011
44494211
44495615
44411536
44412105
44413856
444144226
444144332
444144610
44415947
44416198
444173211
4455227
4492126
45115056
4579576
45710937
45716195
45717765
45812137
46316195
4651278
46712712
46711756
4682775
46812398
4691158
469135314
46915666
4705036
47013316
470133225
47013777
4718846
47612724
476117514
4776847
477152311
48314415
4871718
48719431
48740112
4878746
4878888
4879125
48711559
48713505
48714277
48716028
48716197
48716217
48716959
4883397
48812946
488133912
48814667
48817768
49183612
491123710
49712724
497117512
4986125
4988846
4988855
49915715
50112721
501117513
5034706
50313315
503133211
50313777
50314909
5048896
50715236
5085276
5088825
50814879
51034411
51013426
51015516
510155610
5135975
5139378
513146613
513155533
513161935
51412713
51411756
51510777
51730721
5177206
51814845
51814945
52152218
5219965
52116198
52268
5222841
5224710
52218514
52226014
5224457
52252118
52262616
5227145
5229399
52299639
52299716
52210129
52211458
52212199
522123217
52213176
52213389
522134213
522161939
52217836
523789
5235277
5239935
52311945
5255268
5255277
5258755
5259935
52511945
5265258
5268755
52611945
5277823
5275086
5275237
5275257
5275296
5278828
5279936
5279997
527119410
52712186
52712415
52714876
5282199
5283017
52888214
52810577
528119431
52814009
52816248
529785
5295276
5307896
53013428
53017776
53317765
53426324
53426412
5342927
5349166
5349625
53410936
534136315
53417408
5361037
53626836
5368746
5369405
53614426
536144312
53711718
5371207
53715320
5372387
53727314
5372747
5373116
5373147
5374408
5374415
53753936
53754021
53754125
5375439
5375905
5376619
53766213
53775512
5378106
53781812
5378856
5379058
537100334
537103027
537103716
53711427
53711438
537120114
53712578
53712656
537127518
537134412
53714195
537153021
53715387
537153911
537166812
53953736
539100322
54053721
5412738
5412746
5413117
54153725
5419055
541100320
54111436
54113447
54115516
5435379
54316685
547246
54712412
54733215
5473356
5473626
547118027
54811805
549826
54937912
54942810
5496176
54916845
5516710
5516812
551707
55111828
55210243
55210827
55211715
55221211
5522235
55227511
55244318
5527378
5528857
5528906
552106756
552107811
552118413
552142112
552142229
552142324
552151012
552176415
5542939
5553485
55511675
556568
55612718
55638820
55685831
5568876
5569475
556102722
55610286
55610599
55611698
55615315
55617008
55617666
5583076
5587205
560406
56015514
56010309
561866
5616189
5616846
56183612
56111725
56112377
56115236
5629717
5639717
56713398
5689616
56813108
57111928
5738545
57413325
575117813
57512137
57715846
57812721
578117511
58768413
58712176
587152331
58717698
5892537
5892707
5898065
5898986
58910858
58913426
58917768
58917775
5905375
5906849
59010037
59015238
5945955
5945968
5955945
5965948
5975135
6026036
6036026
60512135
6096847
609152311
61013396
6129719
61215813
61223613
61227910
6122828
61236710
6124985
6127065
6128485
6128816
61288431
61288515
61288718
6128906
6128936
61294810
61212406
61212415
612126118
612134817
61216266
612170020
61217765
6136011
613738
6132756
61372911
61378033
6137816
6138436
6138665
61395532
613120814
61315908
61415566
61416197
6152316
6152665
61544370
61512575
61513396
61514229
615142412
61615236
6175496
61886118
6189724
6189919
61811111
61827720
6182809
61833610
61834730
61840510
61843415
6185619
61874110
61888719
61896813
61810269
618103010
618105212
618111017
618116720
618117116
618117291
61812279
618126710
618135910
618140012
618142119
61814669
618152833
618158836
618162610
618163319
61816479
618171110
618172210
618175827
6214445
6223846
6233638
626286
62652216
6269966
6271696
6276888
62710476
62815516
6288816
6291586
6366416
63687417
63613427
63713885
63714806
63716368
638868
6382775
638123915
63814355
63815558
63916195
6416366
6418745
64444311
64511226
6513465
6549936
65511405
6578836
65711145
657123710
6582025
6588839
65811145
65814485
6606616
66010017
66010038
6612117
66111729
66112010
66115316
6612386
66131412
6614406
6614416
6615379
6616606
6616628
66175312
66175517
66181820
66188710
6619875
6619935
661103019
661103717
66110458
66110545
661105531
66111426
66111865
661120112
66112576
661126926
66112725
66112736
66112759
66113045
661151010
66115387
66211716
6621205
66215318
66223810
6623148
6624408
6624417
66253713
6626618
6627555
6628188
662103015
662103718
66210515
66211425
662120110
66212576
662127511
66215385
66215396
6683125
66810475
66811778
671208
67110014
67115516
671108112
67112279
67112415
67113365
6728897
67212379
678655
67815716
68116146
6826919
6828129
68213176
68213516
68217827
6844777
6845616
68458713
6845909
6846097
68412179
684152342
68416879
68416918
684176913
68817511
6886278
6888156
688118111
68812867
688134212
68814657
688146713
68814815
68816198
688178018
6911825
6916829
6918129
69112865
69113176
69114645
69117806
69212135
6936965
6966935
69613675
6998746
69916196
7001075
7007749
700177613
701676
701685
701705
70210475
70212397
7033935
703176910
7066125
7068848
70829211
7089467
708134210
70816195
708177612
7092277
70914805
70916368
7103797
7108816
7109378
7123888
7128589
71210277
71213426
7145225
7179706
71711775
71712397
717134213
71714356
71714669
71717526
71813426
719417
719658
71913257
72030723
7205176
7205585
72014625
72710326
72712077
729608
729676
729685
72961311
72978013
72995511
72912076
72912085
73012079
7311028
7311086
7314435
731106713
73114227
73114236
73117645
73514425
73710216
73710813
7375528
737106728
73714217
737142215
737142312
73717647
73814355
7408610
7402655
74027712
7403025
7403268
7403445
7403895
7404255
74010475
740123928
74012407
74012416
74013397
74013428
740143519
74014665
740155513
74016177
741868
74161810
74111727
75366112
753126913
7543445
7544256
7548626
75488920
754123726
75413426
754144721
75414509
75414576
755967
75511716
7551206
7551498
75515315
75522311
7552355
7554407
7554439
75553712
75566117
7556625
7557637
7557659
7557707
75581825
75588418
75588516
7558916
7559257
755103023
755103712
75510457
75510515
755120115
75512578
755126511
75512757
75514226
75514756
75515386
75516635
75516645
75915515
7598498
7598818
7611558
7637557
7652126
7652405
7657559
7658845
7707557
7741079
7747009
7748969
7781028
7781087
77819020
778106716
77814226
77814236
778148545
7806013
7807313
7801276
7801986
7802759
78061333
78072913
78084312
7809505
78095534
78010786
780120814
78015907
7816136
787566
7873888
78785814
78710278
78715836
78812717
78811757
7895306
78913426
7948995
79917776
8028748
80214425
80215946
803111322
80316196
8043858
80412285
80413045
8062536
8065895
80613426
808155011
809675
809685
809705
8105376
81010037
8121826
8126829
8126919
8129346
81213179
8156886
81512865
81811725
8181208
81815319
8182236
8182387
8184408
8184416
81853712
81866120
8186628
81875525
8188845
81888511
818103018
818103717
81810457
81811428
81811565
818120118
81812576
81812656
818127511
81815366
81815389
81815396
81919010
826115
8261755
8271718
8271945
831209
8311027
8311086
8311496
83189115
831106713
83111755
83112075
83114226
83114236
83115338
8338585
8361065
8361558
83649112
83656112
83685420
8368839
8368895
8361237164
836145610
836176911
8413186
8436136
84378012
8438786
8439558
84312085
84516955
8461209
84611066
8486125
8488846
8488855
84915515
8497598
8498818
85017765
8511025
8512536
85113425
8545735
85483620
854123720
85414575
858217
8585695
8587519
85810011
8581627
8582177
8582217
8582395
8583068
85831320
8583719
85838040
858388116
85839130
8584107
85855631
8587129
85878714
8588335
85888739
85894739
85897551
8589777
858102799
85810475
858108129
858115227
858115410
858116927
85811805
858120533
85812215
858124615
85812715
85813427
85814427
85814439
858145820
85815286
858153143
858157814
858158358
858161410
85816199
858166513
858170031
85817667
85817678
858176912
8591048
85987410
85914415
85914437
85915947
85917326
8619086
8627546
8666135
8669556
86815513
86888110
8693817
874176
8745218
874955
874103203
87410462
87415215
87419412
8741995
874268721
87430464
87444438
8744876
8745366
87463617
8746415
8746996
8748028
87485910
874888107
87491519
87494086
87494264
87495623
874103311
87410829
874114712
874115319
874128616
874138542
87414276
874143911
874144137
8741442146
8741443234
874144410
87414456
874144672
874146653
874155513
874157529
874159483
874161983
87416735
874167615
8741732102
87417766
87417826
8755255
8755265
8763647
876121311
8788436
878121312
8812018
881976
8811026
88112712
88114920
881155251
88121212
8812246
8812365
8812966
88131416
8813615
88142312
8816126
8816286
8817106
8817598
8818498
88186810
88188414
88188511
8818879
8818918
881103017
88111206
881117529
881117734
88112075
88112615
88113487
881142112
881153310
881159311
88116957
88117006
88117367
8822198
88230110
8825085
8825278
88252814
882105710
882119440
88212008
882140020
88214875
88216245
8834219
8836576
8836589
8838369
883123711
8849727
88415818
8842237
88423618
8842437
88427917
8842806
88428212
8843087
8843149
8843658
88436712
8844716
8844986
88461231
8847068
88475518
8847655
8848185
8848486
88488114
88488540
88488731
8848909
88489111
8848936
88494815
884103011
88410367
88410526
88411566
88411726
88412409
88412416
884126126
884126511
884134831
88413555
88414005
88415887
88416269
88416645
88416957
88416986
884170027
88417387
884177610
8859714
8851029
88511712
8851497
8851535
88515518
8851588
8852128
88522312
8852366
8852796
8852826
8853145
88536710
8854406
88544326
8854985
8855376
8855527
88561215
88575516
88581811
8858485
88588111
88588440
8858878
88589115
8858936
8859486
885103011
88510366
88510376
88511566
88512015
88512576
885126112
885126519
88512665
88513487
885142210
88515295
88516646
88517009
886686
886707
8869238
8875612
8878613
8879716
8871175
8871556
88715810
8871696
88723612
88727912
88731413
8873536
8873726
8873805
8873888
8875566
88761218
88761819
88766110
88785839
8878819
88788431
8878858
88789012
8879476
8879488
88797715
887102710
88710309
88711695
887117210
88712406
88712468
887126119
887134831
88713557
88714356
88715318
88715886
88716269
887170025
88717025
8881751
888525
888103164
88810424
8881526
8881715
88819411
88819921
888268229
88830466
8884385
88844423
8884878
888874107
8889125
88891546
8889257
88894029
88894218
88895612
88811536
888121023
888138513
88814276
888142810
88814405
888144130
8881442231
8881443300
888144617
888146611
88815026
888157512
888159431
888159510
888161939
888167316
88816766
888173248
8895046
8896727
88975420
8898365
889123725
889144720
88914506
88914578
889145814
88917695
890809
890976
8901029
8901088
8902366
8902755
8905526
8906126
8908849
89088712
890106715
89012616
890134812
89014226
89014237
89017009
8912018
8911027
8911086
89112750
89114913
8911559
8911655
8912235
8917556
89183115
8918818
89188411
89188515
891106713
89111317
89111678
891117525
891117835
89111795
89112075
89112659
89114226
89114236
891153319
89117365
893975
8936126
8938846
8938856
89312615
895175
8951555
8953078
89512155
89516636
8961075
8967749
89895
898125
8982708
8985896
89810876
89814665
89816196
8997945
89912246
9013726
90111745
90114358
90115557
903177
9055378
9055415
90510039
9071029
9071086
9072758
907106713
907107810
90714226
90714236
9088616
9121947
9124875
9128885
9133185
9151714
91510322
9151047
9151996
91526831
91530410
91587419
91588846
9159715
91512106
91514418
915144243
915144330
91514445
91516735
91516836
915173212
916946
9162637
9162646
9162929
9165346
9169178
9169325
9169629
91613638
91615688
9179168
91810427
919206
9191558
9194048
9194437
91910075
9219446
9219665
92114556
9235910
923689
923708
9231025
9232936
9238868
9239448
923102022
92311775
923131518
9251711
9251175
9251535
9257557
9258887
92510307
92510376
92512016
92514425
927676
927686
929347
92911956
929119715
9313638
9329165
933887
9333466
9331755295
9348126
93413176
93512015
93517056
9372556
93727718
9373266
9375138
9377108
937123914
93713246
93713428
937146612
93715559
937161914
93717815
9395229
93912325
93916197
94010371
94010414
9401527
940268361
9402727
94030421
94044411
9405365
94087486
94088829
94094231
9409566
94011536
94012867
94013425
940138523
940144248
940144392
940144512
940144637
94014669
94015559
940155620
940157516
940159424
940161939
94016768
940173227
94210360
94210417
9421526
942268245
94230413
94244411
94287464
94288818
94294031
9429566
94211537
942138515
942144234
942144364
942144623
94214665
94215756
942159422
942161917
94216766
942173225
9445920
94428415
9449216
9449238
94496618
94411777
94412147
944122511
94414559
94417126
94629215
9467087
94610888
946134226
94616198
946177610
9475611
94712716
9473808
94738820
9475565
94785839
9478876
947102719
94711697
94712465
94714045
94715318
94715835
94716656
94717006
948978
9481585
9482366
9482795
94861210
94888415
9488856
9488878
94812618
948134810
94817009
9507805
95311785
9556011
955739
95527512
95561332
95572911
95578034
9558438
9558666
95510788
95511005
955120816
95515908
95610325
95626854
9563046
95644415
95687423
95688812
9569406
9569426
956144212
956144318
95614466
95616196
95617327
9574576
95710935
95716186
957161910
957177610
9592487
9615686
962946
96226410
9625345
9629169
96211939
96213635
96217295
9665911
9662849
9669215
96694418
966145520
96615236
966171224
968866
968975
9684195
96861813
97011510
9707176
97011405
970134217
97014665
97016175
97115512
97116010
97120113
97136114
97136349
9715627
9715637
9719155
97111255
97112086
971121311
97116196
971173910
9731776
9755617
97510014
9753036
97538812
97539110
97585851
97510279
97510819
97510977
97511525
97512055
97514589
97515315
97515835
97517697
9778611
97727712
9773025
9773146
9773175
9773267
9773725
9773806
9773888
9778587
97788715
97710278
977123923
97712465
97713395
97713429
977143512
977155514
98113535
9841815
98512075
9876615
98912079
99013379
993787
9935235
9935255
9935276
9936546
9936615
99311867
99317715
9962814
9965215
99652239
9966266
9969976
99613179
99616198
99617835
99752216
9979966
99711458
999787
9995277
99911947
10012214
10016607
100115015
100115645
100327313
10032746
100331110
100353734
100353922
100354120
10035907
10036608
10038107
10039059
100311306
1003114310
1003134412
10064369
10064378
100612088
1007208
1007809
10071558
10072386
10074048
10079195
100714887
100715337
100715936
10083147
100810709
10091555
100911135
100911506
101011325
10125229
10173449
101712396
101715566
102092322
1026866
10266189
102611725
10275621
1027757
10271279
10271548
10271626
10272176
10272395
10273066
10273139
10273719
102738018
102738880
10273916
102755622
10277127
10277878
102785899
102788710
102794719
10279759
10279778
1027108112
102711526
102711547
1027116715
1027116916
1027120510
1027124610
102712716
102714436
1027153119
102715787
1027158311
1027166513
1027170017
102717146
102717526
102717668
102717695
102812711
10285566
10304010
10304213
1030866
1030977
103011734
103012014
10301495
103015332
103015551
10302235
103023810
10303146
10304409
10304416
103053727
10305609
103061810
103066119
103066215
103075523
103081818
103088117
103088411
103088511
10308879
10309257
1030103720
1030104217
103010455
103010516
103011205
1030114212
1030116415
103011725
1030120121
103012256
1030125714
103012657
103012725
1030127521
1030153811
1030153913
1030166418
10327276
103212077
10331037
103326822
103387411
103314425
103314445
103512736
103511675
1035117519
10368847
10368856
1037875
103711724
10371209
103715318
10372355
10372389
10373147
103744010
10374417
103753716
103766117
103766218
103775512
103781817
10378856
10379256
1037103020
1037104512
103710516
103711426
1037120115
103712577
1037127512
103715365
103715386
103715396
1040866
10402775
104012398
10429187
1042103017
104211646
1042166421
104310787
104511713
10451206
10456618
10457557
10458187
104510305
1045103712
1045120111
104515365
10462776
104615287
104615556
1047755
10471187
10471235
104734411
10476276
10476685
10477025
10477405
10478585
1047118171
1047132928
1047134271
1047134344
104714657
1047146627
1047146763
104714955
1047161324
1047161738
1047161924
104717295
104717555
1047177316
104717845
10501155
1050131124
105013127
105013215
105014155
105014425
10511535
10516625
10517555
105110306
105110376
105112015
1052867
1052975
105261812
10528846
1052117210
105315510
1054175
10546615
105412076
1055217
105566131
105512695
10573185
10575287
105788210
1057119422
105714007
105716248
10591279
10595569
106111414
106112217
106115215
106116179
10633817
106410010
10641558
106410815
106412279
106413367
10653636
1067102107
106710890
106711714
106721232
106724013
106727530
10674437
106755256
106773113
106773728
106777816
106783113
106789015
106789113
106790713
1067107835
1067113415
1067113516
1067118418
1067140014
1067141918
1067142145
1067142290
1067142381
106714726
1067151014
1067175413
1067176442
10703148
107010089
10713446
107115475
1071155611
1072675
1072686
10724436
107211899
10771826
10775157
107810232
107810817
107821218
107827531
107844310
107855211
10787806
107890710
10789558
107810437
1078106735
107814196
107814216
1078142216
1078142312
107814726
1078176310
1078176411
107917566
1080867
108012416
1081567
108110013
10811246
10811558
10813808
108138816
108167112
108185829
10819759
1081102712
108110645
1081122710
108112416
108113365
108210311
108226827
10828749
108214425
108214439
108310909
108311248
108313885
108314806
1083163613
10842487
10855898
108517766
10861008
108613325
10878986
108713327
108713777
1087146610
10882926
10889468
108813426
108817768
1089152312
1089176920
109010839
109011248
109013885
109014806
1090163613
1092109310
109211407
109214587
109217767
109217776
1093617
1093655
10932645
10933445
10934577
10935346
10939575
1093109210
1093114019
109313635
109313809
109313897
109314666
1093155510
109315715
1093161911
1093177629
109317779
109517698
10979757
109812719
1098117512
109812065
109817368
1099114410
109914065
11009555
110612018
11068466
1110869
111061817
1110117211
111014005
111380322
111310095
111316197
11142027
11146575
11146585
1114123717
111414487
111414496
111414508
111414575
112015518
112038411
11208816
112010305
112014756
11228715
11226456
112211565
112212015
112410838
112410908
112413886
112414807
1124163613
112417855
11253616
11253636
11259715
1127123916
112714357
112715556
11303846
113010036
113112747
11318917
1131116761
1131117527
1131147020
113114966
1131176613
113210105
113216946
113217267
113217526
1132175330
113311356
113314957
11341027
11341086
1134106715
113414227
113414236
11351027
113510812
1135106716
113511336
113513575
113514226
113514236
114011519
11403487
11406555
11409705
114010927
1140109319
114012138
1140177610
11421179
114215310
11425377
11426616
11426625
11428188
1142103012
114210376
114212018
114212758
114215386
11435378
11435416
1143100310
1144109910
11455228
11459978
114787412
114713425
114716198
115010096
1152568
11523888
115285827
11529755
115210276
115310320
11531045
115326856
11534446
115387419
11538886
11539406
11539427
1153144211
1153144316
115314466
115316196
115317326
11543888
115485810
115410277
1155785
11551936
115519424
115540112
11554115
11554879
115516026
1155169511
11561495
11562237
11568185
11568846
11568856
115611225
115612015
115612655
115616646
115817536
116213398
116217769
1164103015
116410426
116416645
116512725
1165117512
116612714
116611975
11678612
116712773
116715413
11671629
11674075
116741610
11675555
116761820
11678918
1167102715
116710355
1167113161
1167117210
1167117521
116716665
116716686
1167176614
1169567
11691278
116938820
11695568
116985827
11698875
11699477
1169102716
116912465
116915315
116917006
116917665
1171869
117111115
11711915
11712775
11713366
117134711
117161816
1171117210
1171152823
1171158813
1172739
11728652
11729721
1172998
11722779
11722806
11723388
117234710
11724055
11724345
11725615
117261891
11727417
11728846
117288710
117210265
117210305
1172105210
1172111011
1172116710
1172117110
117212275
117212677
117213597
117214009
117214218
117214665
1172152811
1172158816
117216339
117216475
117217117
1172175811
11743725
11749015
117414359
117415565
1175209
1175127154
11751336
11751559
11751689
11752385
11753366
11753939
11754676
117547614
117549712
117550113
11755146
117557811
11757887
11758315
117588129
117589125
1175103519
1175109812
1175113127
1175116512
1175116721
1175120619
117512976
1175153315
1175159313
117516377
1175166611
117516686
117516706
1175172213
117517356
1175173619
117517665
1177208
1177596
11771496
117715580
11773127
117731413
11773816
11776688
11777175
117788134
11779235
11779447
1177175224
1177175310
1178736
117812785
117816553
11782588
11783038
117857513
117889135
11789535
1178117938
117812135
117815315
1178177126
117912717
11791656
11798915
1179117838
1180247
118012410
11802395
118033213
11803357
11803627
118054727
11805485
11808585
118015826
11811757
11812707
118134415
118168811
1181104771
118112868
1181132918
1181134259
1181134331
118114657
1181146624
1181146764
118115559
1181161317
1181161732
1181161916
118117557
118117565
118117738
1181178022
1182687
11822948
11823395
11823449
118234611
11825518
118213399
118214666
118215567
1182161912
118217769
118410211
11841088
11841558
11844435
118455213
1184106718
118414228
118414237
118417645
11853638
11866615
11869937
118910729
119014587
11925718
1193946
11932647
11939629
119312395
11942912
11947811
119417120
11941948
11942199
119430135
11945235
11945255
11945265
119452710
119452831
119488240
11949997
1194105722
1194120014
119412185
1194140041
1194162423
1194169518
11959296
1197346
119792915
119711665
119812116
12008828
1200119414
120014008
1201178
120111728
12011208
120115318
12011555
12011795
12012356
12012385
12013146
12014408
120153714
120166112
120166210
120175515
120181818
12018855
12019256
12019355
1201103021
1201103715
1201104511
120110515
120111225
120111428
120111565
120112577
120112658
1201127514
1201153810
120115396
12032555
12055610
120538812
120585833
12059755
1205102710
120515315
120612725
120610985
1206117519
120617365
12077277
12077296
12077309
12078315
12078815
12078915
12079855
12079899
120710327
120710546
120713995
120714355
1208605
1208736
12081575
120843611
120843723
120861314
12087295
120878014
12088435
120895516
12089716
120810068
12101730
12101038
12104445
121088823
12109156
1210144225
121111986
121336117
121336310
121336411
12134587
12135757
12136055
12136925
121387611
121387812
121397111
121311408
121311785
121315785
121316195
12141166
12143445
12149447
121412395
121415215
12153075
12158955
121515495
121516636
12175876
12176849
1217152321
121717695
1218785
12185276
121811945
12195229
12218585
1222547
12223915
1222136617
122213775
122213835
1222160013
122216977
122217198
1222177812
12248996
1225599
1225678
1225687
1225706
1225726
122594411
122510306
122514557
1227867
122710023
12271245
12271558
12276189
12276719
122710649
1227108110
122711725
122713368
122713615
122715235
122717697
12283856
12288045
122813105
122914525
12321855
12322605
123252217
12329395
1232161911
12341278
12371597
123749110
12375617
123765710
12376729
123775426
1237836164
123785420
123788311
123788925
1237111417
123712956
123713535
1237144717
1237145014
123714566
1237145711
123714588
123716295
123717698
12383446
12383466
123812866
123815516
1238155616
1238161911
1239655
12398643
12399410
12391217
12391727
12392498
12392615
123927790
12392785
123930218
123931510
123931731
123931830
123932657
123934431
12393526
123937211
123942533
12394688
123963815
12397027
12397177
123974028
123993714
123997723
123910176
123910408
1239112716
123911935
123912145
123912409
1239133944
1239134238
1239135416
123914166
123914298
1239143575
1239146626
1239155587
1239161622
1239161719
123916196
1239177622
1240866
1240975
12402777
124031411
12406126
12407407
12408849
12408876
124012399
124012615
124013395
124013486
124014356
124017008
12418614
124127811
12413145
12415275
12416125
12416715
12417406
12418846
124110806
124110816
124113075
124113396
124114356
124115555
1246565
124638816
124685815
12468878
12469475
12469775
1246102710
124611695
125711711
125715310
12571558
12572385
125744320
12575378
12576155
12576616
12576626
12577558
12578186
12578856
1257103014
125710377
125712017
125712758
125714225
12619715
12611589
126123610
126127910
12612826
12613678
126161218
12618815
126188426
126188512
126188719
12618906
12618935
12619488
126112405
1261134818
126116266
1261170015
126117766
12651177
12652235
12654405
12655376
126575511
12658186
126588411
126588519
12658919
126510307
126511565
126512018
12668855
1267869
126761810
126711727
126966126
126975313
126910555
12718585
127110276
12726615
127210305
12736616
127414665
127511715
12751206
127515320
12752386
12754405
127553718
12756619
127566211
12757557
127581811
1275103021
1275103712
127511428
1275120114
127512578
127515388
1275153910
127713325
12812555
128215335
12843449
1284129310
128414665
128415518
1284155615
128416196
128417765
128513428
128516195
128517765
128686
1286125
12862687
12863449
12863515
12866887
12866915
12868155
128687416
12869407
128611818
128612386
128613429
128614455
128614466
128614668
128614675
128615475
128615558
1286155613
128616137
1286161925
1286177614
128617807
129214677
129216197
1292178012
12933395
1293128410
129314666
129315568
1293177611
129433914
12944886
1294133921
129414669
129416137
1294177622
129512376
129712712
129711756
12991558
12992937
129913896
13011456
13046615
13048045
13072946
130712415
130714357
130714667
130715565
130716195
130817845
1309177610
130917775
13105688
131012285
13112486
1311105024
131113125
131113217
131114155
131114425
131210507
131213115
131592318
13175226
13176826
13176916
13178129
13179346
13179969
1319177616
132110505
132113117
13249376
1325415
1325615
1325656
13257197
1329104728
1329118118
1329134226
1329134313
132914667
1329146719
1329161310
1329161714
132916195
132917736
13314706
13315035
1331133216
133113776
13321887
13324305
133247025
133250311
13325745
133210865
133210877
133212775
1332133116
1332137713
133214669
13331385
13351758
13353836
13361007
13361558
13366715
133610647
133610815
133612278
13379909
13385229
133816196
13398612
133926643
133927736
13393026
13393176
13393188
133932616
133933933
133934332
133934412
1339345126
133942510
133944322
133948812
13395678
13396106
13396156
13397407
13399775
133911628
133911829
1339123944
133912405
133912416
1339129421
1339134218
133913528
133913846
1339143521
1339146663
1339155532
1339161314
133916168
1339161712
1339165812
1339177655
1342475
1342868
1342946
13421025
13421119
13421156
13422217
13422538
134225411
13422655
13422729
134227731
134229225
134229412
134231712
134231817
134232627
13423416
134234433
13423467
13423486
13423729
134242513
13425106
134252213
13425308
13425896
13426367
134268812
134270810
13427126
134271713
13427186
13427408
13427546
13427896
13428066
13428515
13428587
13429378
13429405
134294626
134297017
13429779
1342104771
134210886
134211475
1342118159
1342123938
134212858
134212869
1342132926
1342133918
1342134340
134213546
134214298
1342143535
1342146520
1342146636
1342146786
134215516
1342155537
1342155612
1342158712
1342161318
134216148
134216167
1342161726
1342161954
134217295
1342177336
1342177621
1342178011
13433445
1343104744
1343118131
1343132913
1343134240
134314655
1343146613
1343146727
1343161314
1343161732
134316198
134317738
13442736
134453712
13445417
1344100312
13473638
13489716
134815810
134823612
134827911
134861217
13488817
134888431
13488857
134888731
134889012
134894810
134812406
1348126118
134813558
134816266
1348170018
135017110
135019411
13504875
13516826
135114355
135115555
135117827
135213398
135217765
135311510
13531915
13533055
13533605
135346914
13539815
135312375
135314907
135315666
135427711
135432610
1354123916
135413426
135414355
135415555
13558845
13558877
135513488
13571085
135711355
13583725
135814298
135814359
135815557
135816196
1359867
135961810
135911727
13611007
13612946
13613466
136112275
136115565
136116197
13632636
136326411
13632926
136353415
13639168
13639625
136310935
136317406
13652486
136517765
1366122217
136616006
136617196
136617786
13676965
1377917
13771385
13774707
13775037
137710877
137712225
137713316
1377133213
137714669
13803447
138010939
1380177614
138312225
138413396
138414665
138417765
138510343
13851048
1385268191
13853049
13854446
138587442
138588813
138594023
138594215
1385144228
1385144342
1385144629
138515557
138515756
1385159414
1385161911
1385173214
1387656
138715718
13881885
13886375
138810835
138810905
138811246
138814808
138815175
1388163611
138817859
1389618
1389655
138910937
138912996
138914806
138915715
1390655
139415236
139912075
1400867
14001028
14001087
14002125
14003018
14005289
140061812
140088220
14008845
140010577
1400106714
140011105
140011729
1400119441
140012008
140014227
140014236
140016245
1400169510
14041279
14049475
140610995
14141766
141510505
141513115
14163169
141612396
141614358
141615558
141615737
141910210
14191088
141921211
14195375
1419106718
141910786
1419142211
141914238
141916689
14218611
142110228
142110820
14212126
14212756
142155212
142161819
14217377
142188112
1421106745
142110786
142111728
1421142220
1421142320
142117649
142210255
142210843
14221177
142221223
14222235
14222407
142227514
142244346
142255229
14226159
14227317
142273715
14227556
14227786
14228316
142288510
14228906
14228916
14229076
1422106790
1422107816
142211347
142211356
142211848
142212575
142214007
1422141911
1422142120
1422142339
1422142414
142215107
142217546
1422176422
142310247
142310842
14231176
142321224
14232406
142327512
142355224
14237316
142373712
14237786
14238316
14238907
14238916
14239076
1423106781
1423107812
142311346
142311356
142311847
142314006
142314198
1423142120
1423142239
142315106
142317546
1423176418
142444348
142461512
1424142214
14271046
142719410
14274877
14278746
14278886
142714418
142715965
142716199
142826816
142888810
142814429
1428144314
14293446
14293727
142912398
142913428
142913588
1429143522
142914665
1429155513
1429161918
1435526
14358615
1435946
14352487
143527737
14352785
14352925
143529412
14353027
14353148
14353156
143531711
143531814
143532623
14353396
143534418
143534612
143537221
143542513
14356385
14357176
14357385
143574019
14358876
14359018
143597712
143511277
143511749
143512075
1435123975
143512406
143512416
143513077
1435133921
1435134235
143513515
143513545
143513589
143514168
1435142922
1435146617
1435155562
143516167
143516178
1435161926
1435177612
143717696
14391036
14391045
14392685
143987411
143914415
143914428
143914667
143915949
143917327
14408885
144016195
144110315
144110416
144119412
144126831
14413048
14414835
14418595
144187437
144188830
14419158
144114278
144114395
144114428
1441144335
144114669
1441159415
144116195
1441173213
14421755
1442103186
144210436
14421529
144219915
1442268397
144230452
14424387
144244426
14425366
14427355
14428025
14428587
1442874146
1442888231
144291543
14429255
144294048
144294234
144295612
144210335
144210505
144210825
1442115311
1442121025
144213115
1442138528
144214289
144214398
144214418
14421443256
1442144412
1442144637
1442146614
144215025
144215556
1442157519
1442159453
144215955
1442161935
1442167311
1442167611
1442173258
1443525
1443103269
144310451
144315216
14431946
144319912
1443268776
144330488
144344432
144353612
14438589
14438597
1443874234
1443888300
144391530
144394092
144394264
144395618
144310276
144310829
1443115316
1443138542
1443142814
1443144135
14431442256
144314458
1443144658
1443146617
144315558
1443157533
1443159471
144315957
1443161948
144316738
1443167621
1443173299
144410310
14441045
144487410
14449155
144410335
1444144212
14451036
144526836
14458746
144594012
144512865
144514438
144514466
1445155616
1445161910
144610364
144610410
14461527
1446268302
144630414
144644410
144687472
144688817
144694037
144694223
14469566
144611536
144612866
1446138529
1446144237
1446144358
144614456
144614666
1446155514
144615758
1446159418
1446161919
144616767
1446173220
14474256
144775421
144788920
1447123717
144714575
14482025
14486585
144811147
144911146
14507549
14508896
145011148
1450123714
14521266
145219612
14521975
14522936
145212295
14559216
14559449
145596620
145512257
145683610
145612376
14577546
14578545
14578898
145711145
1457123711
145714475
1458566
14582275
145885820
145888914
14589759
145810927
145811907
145812378
145817698
146230711
14627205
14646915
146512910
14651757
14656887
146510477
146511817
1465134220
146513435
1465146718
146516176
146516196
146517805
1466526
14668612
146610316
146610412
14661118
14661726
14661757
14662215
146626611
146626850
14662726
146627718
14662785
146629410
14663047
14663156
14663187
146632611
146633913
14663439
146634414
146634519
14663466
14663477
146642516
14664887
146651313
14666189
14667179
14667405
146687453
146688811
14668985
146693712
14669409
14669425
14669705
1466104727
1466108710
146610936
146611725
1466118124
146611826
1466123926
146612745
146612845
146612868
146612936
146612949
146613077
146613297
146613329
1466133963
1466134236
1466134313
146613779
146613845
146614295
1466143517
146614397
146614419
1466144214
1466144317
146614466
1466146721
146615288
146615516
1466155520
1466155615
1466158810
1466159419
1466161315
146616147
1466161729
1466161962
1466173227
1466177622
14671757
14673427
146768813
1467104763
1467118164
146712865
146712927
1467132919
1467134286
1467134327
1467146518
1467146621
146714817
146715555
1467161325
1467161745
1467161938
1467177322
1467178032
146717815
1470113120
14711237
14721027
14721086
147221219
14722755
147210676
147210786
14733846
1475435
14751558
14757556
147511206
14802446
14806376
14807095
148010836
148010906
148011247
148013888
148013896
148015176
1480163612
148017857
14816885
148114677
14845185
148414947
148519010
148577845
14875089
14875276
14878825
1488206
14881558
14884047
148810077
14901235
14903567
14905039
149013537
14945185
149414847
149512314
14954405
149510475
149511337
149515008
149638110
149611316
150014958
1501225
150110015
1502175
15028886
150214425
150330711
15054516
151010211
15101087
15101177
151055212
151066110
1510106714
151014227
151014236
1512615
1512655
15122909
15151457
151713885
151714806
151716368
1519152114
15211148
15211226
15212538
152110615
152112145
1521151914
152115245
152115818
1521158716
15231007
15233787
152347711
15235076
15235616
152358731
15235908
152360911
15236166
152368442
15239666
1523108912
1523121721
152312275
152313946
152315986
1523168713
1523169112
152316968
1523170412
1523176929
152415215
1525586
15288617
152811156
15281919
152827711
15282788
152833618
152834726
15284348
152861833
15288586
152810467
1528117123
1528117211
152814668
1528156212
1528158831
152817108
152817218
15298855
153053721
15315613
153138816
15315565
153185843
15318878
15319478
15319755
1531102719
153111695
153111785
153112055
153115836
153116655
153117005
15332024
15338012
153314910
153315518
153323813
15332435
15334435
15338318
153388110
153389119
153310077
1533117515
153312825
1533159323
15341008
153415796
153611713
15362175
15362236
15368186
153610375
153610455
1536153810
15381178
153815310
15382176
153822311
15385377
15386617
15386625
15387556
15388189
1538103011
153810376
153811426
1538120110
153812758
1538153610
153911710
153915312
153953711
15396626
15398186
1539103013
153910376
153912016
1539127510
15473449
154710715
154712865
154715517
1547155615
154716195
15482685
1548161910
154912155
15504356
155080811
155015515
155016467
1551686
1551708
15513185
155134412
15513816
15514296
15515106
15515416
155112386
155112848
155113426
155114666
155115477
155115505
1551155621
155116198
155117159
15558621
1555946
15551038
155526854
155527749
15553028
15553156
155531716
155531814
155532622
155534430
155537228
15553805
155542518
155551333
15556388
155574013
155587413
15559017
15559379
15559409
155597714
155510466
1555109310
155511276
155511819
1555123987
155512415
155512868
1555133932
1555134237
155513515
155513545
155513587
155513857
155514168
1555142913
1555143562
155514426
155514438
1555144614
1555146620
155514675
155516169
1555161712
1555161933
1555177631
155517807
155627211
155629412
15563395
155634423
155634610
155642910
155651010
15566146
155694020
155610176
1556107111
155611745
155611827
1556123816
1556128415
1556128613
155612938
155613075
1556134212
155613615
1556144516
1556146615
1556154715
1556155121
155616175
1556161934
155617076
156211112
1562152812
1564225
156410015
156611510
15661917
15663059
15664696
156613536
15682635
15689168
1571618
15716518
15712487
15714995
15716786
157110935
157113878
157113895
157314167
157510321
15751046
1575268111
15753049
157587429
157588812
157594016
15759426
157513856
1575144219
1575144333
157514468
157515949
1575161911
1575173210
15782487
15783888
157885814
157810277
157812135
15793819
157915346
15812538
158115218
158210014
158211806
15835613
158338812
15837876
158385858
15839475
15839755
1583102711
158315316
15845776
15871026
15871155
15872537
1587134212
1587152116
15888620
1588977
158811124
15882776
158827811
158833611
158834727
15884346
158861836
15888847
15888876
1588117113
1588117216
1588146610
1588152831
158817217
15906138
15907807
15909558
15932038
15938012
15931497
159315514
159323810
159336121
15934379
159388111
159310076
1593117513
1593153323
1594527
159410364
159410429
1594268207
159430418
15944447
15948026
15948597
159487483
159488831
159494024
159494222
1594138514
159414399
1594144115
1594144253
1594144371
1594144618
1594146619
159415759
1594161913
159416765
1594173232
159588810
159514425
159514437
159614275
159815236
1600122213
160013666
160017785
16011695
16021715
160219417
160240110
16024878
160211556
160216958
1607175
16133397
1613104724
1613118117
161312867
161312947
1613132910
1613133914
1613134218
1613134314
1613146615
1613146725
1613161729
1613161911
161317735
1613177612
16143445
161434810
16146816
161485810
161413428
161414667
161416196
161627713
161632611
1616123922
161613398
161613427
161614357
161615559
1617867
16171147
161712211
16172779
16173188
16173265
16177407
16179705
1617104738
161710619
1617118132
1617123919
1617132914
1617133912
1617134226
1617134332
161714358
161714656
1617146629
1617146745
1617155512
161715565
1617161329
1617161925
161717385
161717737
161717769
161717806
16189576
161816195
161817765
161966
161985
16192811
1619338
1619476
16191007
161910365
161910414
16191136
16191716
16191755
16191859
161919411
16192175
16192266
16192609
1619268176
161927219
16192929
161929418
161930413
161934421
161934618
161936310
16193729
16194255
16194295
16194448
16194575
16194635
16194877
161951335
16195218
161952239
16196147
16196395
16196888
16196996
16197085
16198036
16198589
161987483
161988839
16198986
161993714
16199397
161994039
161994217
16199468
16199566
161995710
16199716
16199968
1619104724
1619109311
161911137
161911478
161911536
1619118116
1619118212
161912135
1619123211
1619123811
161912396
161912846
161912855
1619128625
161912927
161913075
161913295
161913386
1619134254
161913438
161913586
161913617
1619138511
161914279
1619142918
1619143526
161914405
161914415
1619144235
1619144348
1619144510
1619144619
161914656
1619146662
1619146738
161915475
1619154810
161915518
1619155533
1619155634
1619157511
1619159413
1619161311
161916146
1619161725
161916185
1619173222
1619177623
1619178021
162119410
16214877
16243015
16245288
16248825
162410578
1624119423
162414005
1626865
1626975
16266126
162661810
16268849
16268879
162612616
162613486
162617006
16282126
162912375
163044313
16338612
163361819
163311729
16366378
16367098
1636108313
1636109013
1636112413
1636138811
1636148012
163615178
1636178510
163712715
163711757
164615507
1647866
16471005
16472868
16473966
16476189
164711725
164716499
164717697
16493966
164916479
16583435
16583456
1658133912
16631713
16631796
16633076
16637555
16638956
166312156
166414910
16641556
16642235
16647555
16648845
16648856
1664103018
1664104221
166411566
166411645
166512711
166538812
166585813
16659476
1665102713
166515315
166516665
1666765
166612751
16661455
16662975
166611675
1666117511
166616655
166616716
16671278
166812723
166853712
16685435
166811676
166811756
166814199
16701279
167011756
167112711
167116666
1673175
16738745
167388816
16739155
1673144211
167314438
16751555
167610318
167626863
16763045
167687415
16768886
16769408
16769426
1676144211
1676144321
167614467
167615945
167617325
16839156
16843796
16844286
16845495
16876849
1687152313
16916848
1691152312
169117697
169411326
169417527
1694175312
1695205
16951195
16951305
16951705
169517115
169519476
16952367
169540113
16954879
16958455
16958817
16958847
1695115511
1695119418
1695140010
169516028
169517015
169615238
169712227
16988846
1700567
17009716
17001589
170023612
17002435
170027910
17002826
17003676
170038816
17005568
170061220
170085831
17008816
170088427
17008859
170088725
17008909
17009476
17009489
1700102717
170011696
170012408
1700126115
1700134818
170015315
170016266
170116955
17028875
1704152312
17059356
170715566
17101115
171015288
1711867
171161810
171111727
17129446
171296624
171410276
171515519
1715171613
1715172811
1716171513
171617289
171912228
171913666
17211116
17213475
172115288
172115887
1722865
172212724
172261810
1722117513
17263125
172611327
172617535
1728171511
172817169
1729946
17299625
172910475
172913425
1731595
1732177
1732529
1732103103
173210428
17321525
1732268253
173230420
173244411
17328596
1732874102
173288848
173291512
173294027
173294225
17329567
173211536
1732138514
173214397
1732144113
1732144258
1732144399
1732144620
1732146627
1732157510
1732159432
1732161922
173216765
173512712
173511756
173612718
17368817
17368915
173610988
1736117519
173612065
17388847
173816175
17393638
173997110
17402635
17402645
17405348
174013636
175117535
17523165
17523817
17523888
17527176
175210276
175211326
1752117724
175216947
1752175318
17532136
17533127
17533816
1753113230
175311586
1753117710
1753169412
175317265
175317515
1753175218
175317545
17541027
17541086
1754106713
175414226
175414236
175417535
1755885
17553445
17553466
1755933295
175510475
175511817
17563205
175610796
175611815
17588615
175861827
1758117211
1760206
1763107810
176410229
176410821
17642129
17642759
17644439
176455215
17647315
17647377
1764106742
1764107811
176411845
176414219
1764142222
1764142318
176612723
17661545
17663489
17665566
17668587
176610278
1766113113
1766116714
176611695
176611755
17678588
1769206
1769315
176910015
17691558
176939312
17695878
176968413
176970310
176983611
176985812
17698895
17699757
176910275
1769108920
176910958
176912175
176912277
176912378
176914376
176914588
1769152329
176916477
176916917
1771785
17711276
17719935
1771117826
1773104716
177311818
177313296
1773134236
177313438
1773146722
177316135
177316177
177685
1776868
1776976
17762556
17762725
177627711
177629216
17763185
177632610
177633931
177634422
17764255
17764575
17764888
17765335
17765898
17766125
177670013
177670812
17768505
17768746
177688410
177694610
177695710
177610856
177610888
177610927
1776109329
1776114010
177611629
177611829
1776123922
177612616
177612845
177612855
1776128614
1776129311
1776129422
1776130910
1776131916
1776133955
1776134221
177613525
177613655
1776138014
177613845
1776143512
1776146622
1776155531
1776161312
177616179
177616185
1776161923
1776177711
17775306
17775895
17777996
177710926
177710939
177713095
1777177611
1778122212
177813666
177816005
178017510
178034210
178068818
17806916
1780118122
178012867
1780129212
1780134211
178014655
1780146732
178015557
178016176
1780161921
178017817
17813428
17819375
178114675
178117807
17826827
17828746
178213517
17835226
17839965
17842265
178410475
178413085
178511245
178513889
178514807
1785163610
nodes2<-edges %>% stack(select=c(from, to)) %>% select(-ind) %>% distinct %>% inner_join(nodes, by=c("values"="id")) %>% rename(id=values)

second.with.igraph <- graph_from_data_frame(d=edges, vertices=nodes2, directed=FALSE)
plot(second.with.igraph, layout=layout_with_graphopt)

This is only moderately better; again, graphs with this many nodes are not especially effective to visualize, generally-speaking.

Up to this point, we have used base-R plotting; it is worth knowing about ggraph, a more “modern” graphing library built on top of ggplot. It behaves very similarly to ggplot in that it uses geoms, aesthetic mappings, etc.

library(ggraph)
## 
## Attaching package: 'ggraph'
## The following object is masked from 'package:sp':
## 
##     geometry
second.with.igraph %>% ggraph(layout="igraph", algorithm="kk") + geom_edge_link(alpha=0.1) + geom_node_point() 
## Warning: Using the `size` aesthetic in this geom was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` in the `default_aes` field and elsewhere instead.

Creative Commons License